// 图片前缀处理工具
import operate from './operate.js'
export function formatImgUrl(url) {
  if (!url) return ''
  if (
    url.startsWith('http') ||
    url.startsWith('https') ||
    url.startsWith('wxfile')
  )
    return url
  return operate.api() + url
}

// 打开地图
export function openNavigation(options) {
  console.log('openNavigation: ', options)
  const { latitude, longitude, name, address } = options

  // 优先使用 uni.openLocation（推荐）
  uni.openLocation({
    latitude: parseFloat(latitude),
    longitude: parseFloat(longitude),
    name: name || '目的地',
    address: address || '',
    scale: 18,
    success() {
      console.log('打开地图成功')
    },
    fail() {
      console.log('uni.openLocation 失败，尝试其他方式')
      // 如果失败，可以尝试其他导航软件
      tryOtherNavigation(options)
    }
  })
}

function tryOtherNavigation(options) {
  const { latitude, longitude, name } = options

  // 尝试打开高德地图
  const amapUrl = `amapuri://route/plan/?dlat=${latitude}&dlon=${longitude}&dname=${encodeURIComponent(
    name
  )}&dev=0&t=0`

  // #ifdef APP-PLUS
  plus.runtime.openURL(amapUrl, function (res) {
    // 高德地图打开失败，尝试百度地图
    const baiduUrl = `baidumap://map/direction?destination=latlng:${latitude},${longitude}|name:${encodeURIComponent(
      name
    )}&mode=driving`
    plus.runtime.openURL(baiduUrl, function (res) {
      uni.showToast({
        title: '请安装导航软件',
        icon: 'none'
      })
    })
  })
  // #endif

  // #ifdef MP-WEIXIN || MP-ALIPAY || MP-BAIDU
  // 小程序环境下只能使用 uni.openLocation
  uni.showToast({
    title: '打开地图失败',
    icon: 'none'
  })
  // #endif
}
